package com.loveprogrammer.eternity.factory.template;

import java.io.Serializable;
import java.util.List;

/**
 * @version 1.0.0
 * @description: 角色模版
 * @author: eric
 * @date: 2022-08-11 13:54
 **/
public class CharacterTemplate implements Serializable {

    private int id;

    private String name;

    private String desc;

    private int strength;                  // 力量 影响物理输出 物理技能输出
    private int armature;                 // 护甲值 影响物理防御和法术防御
    private int constitution;               // 体质 影响生命值 一点体质增加10点生命值
    private int magic;                       // 魔力 影响法术输出 法术技能输出
    private int technique;                   // 技巧 影响闪避率、暴击率
    private int speed;                         // 攻击速度

    private int levelUpStrength;                   // 每一级增加值
    private int levelUpArmature;                 // 护甲值
    private int levelUpConstitution;
    private int levelUpMagic;
    private int levelUpTechnique;
    private int levelUpSpeed;

    private int highestLevel;
    private String skills;

    // 技能品级
    private String skillQuality;
    private String acquiredLevel;
    private String extSkills;

    private int attackType;

    private String states;

    // 毒抗
    private int poisonResistance;

    // 火抗
    private int flameResistance;

    // 电抗
    private int thunderResistance;

    // 冰抗
    private int iceResistance;

    // 经验
    private double exp = 1.0;

    private int weaponType;

    private String nextLevelJobList;
    private int position;

    @Override
    public String toString() {
        return "HeroTemplate{" +
                "角色 ='" + name + '\'' +
                ", 说明='" + desc + '\'' +
                ", 力量=" + strength +
                ", 护甲=" + armature +
                ", 体力=" + constitution +
                ", 魔力=" + magic +
                ", 技巧=" + technique +
                ", 速度=" + speed +
                '}';
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }

    public int getStrength() {
        return strength;
    }

    public void setStrength(int strength) {
        this.strength = strength;
    }

    public int getArmature() {
        return armature;
    }

    public void setArmature(int armature) {
        this.armature = armature;
    }

    public int getConstitution() {
        return constitution;
    }

    public void setConstitution(int constitution) {
        this.constitution = constitution;
    }

    public int getMagic() {
        return magic;
    }

    public void setMagic(int magic) {
        this.magic = magic;
    }

    public int getTechnique() {
        return technique;
    }

    public void setTechnique(int technique) {
        this.technique = technique;
    }

    public int getSpeed() {
        return speed;
    }

    public void setSpeed(int speed) {
        this.speed = speed;
    }

    public int getLevelUpStrength() {
        return levelUpStrength;
    }

    public void setLevelUpStrength(int levelUpStrength) {
        this.levelUpStrength = levelUpStrength;
    }

    public int getLevelUpArmature() {
        return levelUpArmature;
    }

    public void setLevelUpArmature(int levelUpArmature) {
        this.levelUpArmature = levelUpArmature;
    }

    public int getLevelUpConstitution() {
        return levelUpConstitution;
    }

    public void setLevelUpConstitution(int levelUpConstitution) {
        this.levelUpConstitution = levelUpConstitution;
    }

    public int getLevelUpMagic() {
        return levelUpMagic;
    }

    public void setLevelUpMagic(int levelUpMagic) {
        this.levelUpMagic = levelUpMagic;
    }

    public int getLevelUpTechnique() {
        return levelUpTechnique;
    }

    public void setLevelUpTechnique(int levelUpTechnique) {
        this.levelUpTechnique = levelUpTechnique;
    }

    public int getLevelUpSpeed() {
        return levelUpSpeed;
    }

    public void setLevelUpSpeed(int levelUpSpeed) {
        this.levelUpSpeed = levelUpSpeed;
    }

    public String getSkills() {
        if(skills == null){
            skills = "";
        }
        return skills;
    }

    public void setSkills(String skills) {
        this.skills = skills;
    }

    public String getExtSkills() {
        return extSkills;
    }

    public void setExtSkills(String extSkills) {
        this.extSkills = extSkills;
    }

    public int getAttackType() {
        return attackType;
    }

    public void setAttackType(int attackType) {
        this.attackType = attackType;
    }

    public String getStates() {
        if(states == null){
            states = "";
        }
        return states;
    }

    public void setStates(String states) {
        this.states = states;
    }

    public int getPoisonResistance() {
        return poisonResistance;
    }

    public void setPoisonResistance(int poisonResistance) {
        this.poisonResistance = poisonResistance;
    }

    public int getFlameResistance() {
        return flameResistance;
    }

    public void setFlameResistance(int flameResistance) {
        this.flameResistance = flameResistance;
    }

    public int getThunderResistance() {
        return thunderResistance;
    }

    public void setThunderResistance(int thunderResistance) {
        this.thunderResistance = thunderResistance;
    }

    public double getExp() {
        return exp;
    }

    public void setExp(double exp) {
        this.exp = exp;
    }

    public int getIceResistance() {
        return iceResistance;
    }

    public void setIceResistance(int iceResistance) {
        this.iceResistance = iceResistance;
    }

    public int getWeaponType() {
        return weaponType;
    }

    public void setWeaponType(int weaponType) {
        this.weaponType = weaponType;
    }

    public String getAcquiredLevel() {
        return acquiredLevel;
    }

    public void setAcquiredLevel(String acquiredLevel) {
        this.acquiredLevel = acquiredLevel;
    }

    public String getSkillQuality() {
        return skillQuality;
    }

    public void setSkillQuality(String skillQuality) {
        this.skillQuality = skillQuality;
    }

    public int getHighestLevel() {
        return highestLevel;
    }

    public void setHighestLevel(int highestLevel) {
        this.highestLevel = highestLevel;
    }

    public String getNextLevelJobList() {
        return nextLevelJobList;
    }

    public void setNextLevelJobList(String nextLevelJobList) {
        this.nextLevelJobList = nextLevelJobList;
    }

    public int getPosition() {
        return position;
    }

    public void setPosition(int position) {
        this.position = position;
    }
}
